"""
生产者：task，即任务(函数)
中间人：broker，即任务队列
消费者：worker
Celery： 将这三者实现
"""

# 前提需要加载Django环境
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MeiDuoShop.settings')

# 1、创建celery实例
from celery import Celery
# 参数main：一般会写成该文件的路径,如：celery_tasks.main
# 参数brower：可以设置中间人队列，如使用 redis rabbitmq，也可以把中间人单独配置到单独配置文件中
app = Celery("celery_tasks.main")
# app = Celery('celery_tasks.main',broker='redis://192.168.208.128:6379/15')

# 2、设置中间人队列：broker
# 通过加载配置文件设置broker
app.config_from_object("celery_tasks.config")

# 3、需要让Celery实例自动检测指定包的任务
app.autodiscover_tasks(["celery_tasks.sms"])

# 4、启动消费者指令
# celery -A project worker -l info/INFO
# 虚拟环境：celery -A Celery实例的脚本路径 worker -l info
# 即：celery -A celery_tasks.main worker -l info